package cn.edu.scau.cmi.ema.dao;

import java.util.Set;

import org.springframework.dao.DataAccessException;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;

public interface RulefieldDAO extends JpaDao<Rulefield> {

	public Rulefield findRulefieldById(Integer id) throws DataAccessException;

	public Rulefield findRulefieldById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldByName(String name) throws DataAccessException;

	public Set<Rulefield> findRulefieldByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldByNameContaining(String name_1) throws DataAccessException;

	public Set<Rulefield> findRulefieldByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityclassname(String entityclassname) throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityclassname(String entityclassname, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityclassnameContaining(String entityclassname_1) throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityclassnameContaining(String entityclassname_1, int startResult,
			int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityfieldname(String entityfieldname) throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityfieldname(String entityfieldname, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityfieldnameContaining(String entityfieldname_1) throws DataAccessException;

	public Set<Rulefield> findRulefieldByEntityfieldnameContaining(String entityfieldname_1, int startResult,
			int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldByDescription(String description) throws DataAccessException;

	public Set<Rulefield> findRulefieldByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulefield> findRulefieldByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Rulefield> findRulefieldByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Rulefield findRulefieldByPrimaryKey(Integer id) throws DataAccessException;

	public Rulefield findRulefieldByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Rulefield> findAllRulefields() throws DataAccessException;

	public Set<Rulefield> findAllRulefields(int startResult, int maxRows) throws DataAccessException;

	public Set<Rulefield> findRulefieldsByRule(Integer ruleId, int start, int max);

	public Set<Rulefield> findRulefieldByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulefield> findRulefieldsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Rulefield findRulefieldByPhysicalPrimaryKey(Integer ruleId, String entityclassname, String entityfieldname)
			throws DataAccessException;

	public Rulefield findRulefieldByPhysicalPrimaryKey(Integer ruleId, String entityclassname, String entityfieldname,
			int startResult, int maxRows) throws DataAccessException;
}
